package cn.maihe.elg.operation.supports.invoice.nuonuo.dto;

import lombok.Data;

/**
 * @Description
 * @Author caixh
 * @Date 2021/5/6.
 */
@Data
public class InvoiceInfoDTO {
    /**
     * 发票请求流水号
     */
    private String serialNo;
    /**
     * 订单编号
     */
    private String orderNo;
    /**
     * 发票状态： 2 :开票完成（ 最终状态），
     * 其他状态分别为: 20:开票中; 21:开票成功签章中;22:开票失败;24:开票成功签章失败;
     * 3:发票已作废 31:发票作废中
     * 备注：22、24状态时，无需再查询，请确认开票失败原因以及签章失败原因；
     * 3、31只针对纸票 注：请以该状态码区分发票状态
     */
    private String status;
    /**
     * 发票状态描述
     */
    private String statusMsg;
    /**
     * 失败原因
     */
    private String failCause;
    /**
     * 发票pdf地址
     */
    private String pdfUrl;
    /**
     * 发票图片地址
     */
    private String pictureUrl;
    /**
     * 开票时间
     */
    private String invoiceTime;
    /**
     * 发票代码
     */
    private String invoiceCode;
    /**
     * 发票号码
     */
    private String invoiceNo;

    /**
     * 数电票号码（数电电票、数电纸票时均返回20位数电票号码）
     */
    private String allElectronicInvoiceNumbe;
    /**
     * 不含税金额
     */
    private String extaxAmount;
    /**
     * 合计税额
     */
    private String taxAmount;
    /**
     * 价税合计
     */
    private String orderAmount;
    /**
     * 购方名称（付款方名称）
     */
    private String payerName;
    /**
     * 购方税号（付款方税号）
     */
    private String payerTaxNo;
    /**
     * 购方地址
     */
    private String address;
    /**
     * 购方电话
     */
    private String telephone;
    /**
     * 购方开户行及账号
     */
    private String bankAccount;
    /**
     * 发票种类，包含：增值税电子普通发票、增值税普通发票、专用发票(电子)、
     * 增值税专用发票、收购发票(电子)、收购发票(纸质)、增值税普通发票(卷式)
     */
    private String invoiceKind;

    /**
     * 校验码（数电票时为空）
     **/
    private String checkCode;
    /**
     * 二维码
     **/
    private String qrCode;
    /**
     * 税控设备号（机器编码）；数电票时为空
     **/
    private String machineCode;
    /**
     * 发票密文（数电票时为空）
     **/
    private String cipherText;
    /**
     * 含底图纸票pdf地址
     **/
    private String paperPdfUrl;
    /**
     * 发票ofd地址（公共服务平台签章时返回）
     **/
    private String ofdUrl;
    /**
     * 开票员
     **/
    private String clerk;
    /**
     * 收款人
     **/
    private String payee;
    /**
     * 复核人
     **/
    private String checker;
    /**
     * 销方银行账号
     **/
    private String salerAccount;
    /**
     * 销方电话
     **/
    private String salerTel;
    /**
     * 销方地址
     **/
    private String salerAddress;
    /**
     * 销方税号
     **/
    private String salerTaxNum;
    /**
     * 销方名称
     **/
    private String saleName;
    /**
     * 备注
     **/
    private String remark;
    /**
     * 成品油标志：0非成品油，1成品油
     **/
    private String productOilFlag;
    /**
     * 图片地址（多个图片以逗号隔开）
     **/
    private String imgUrls;
    /**
     * 分机号
     **/
    private String extensionNumber;
    /**
     * 终端号
     **/
    private String terminalNumber;
    /**
     * 部门门店id（诺诺系统中的id）
     **/
    private String deptId;
    /**
     * 开票员id（诺诺系统中的id）
     **/
    private String clerkId;
    /**
     * 对应蓝票发票代码，红票时有值（蓝票为数电电票时为空，数电纸票时有值）
     **/
    private String oldInvoiceCode;
    /**
     * 对应蓝票发票号码，红票时有值（蓝票为数电电票时返回原来的20位数电票号码，数电纸票时为8位的纸票号码）
     **/
    private String oldInvoiceNo;
    /**
     * 对应蓝票数电票号码，红票时有值（蓝票为数电票（电子+纸质）时 20位）
     **/
    private String oldEleInvoiceNumber;
    /**
     * 清单标志:0,非清单;1,清单票
     **/
    private String listFlag;
    /**
     * 清单项目名称:打印清单时对应发票票面项目名称，注意：税总要求清单项目名称为（详见销货清单）
     **/
    private String listName;
    /**
     * 购方手机(开票成功会短信提醒购方)
     **/
    private String phone;
    /**
     * 购方邮箱推送邮箱(开票成功会邮件提醒购方)
     **/
    private String notifyEmail;
    /**
     * 是否机动车类专票 0-否 1-是
     **/
    private String vehicleFlag;
    /**
     * 数据创建时间（回传其他信息时返回）
     **/
    private String createTime;
    /**
     * 数据更新时间（回传其他信息时返回）
     **/
    private String updateTime;
    /**
     * 发票状态更新时间（回传其他信息时返回；涉及状态：开票中、开票失败、开票成功签章中、开票成功签章失败、开票完成、发票作废中、发票已作废）
     **/
    private String stateUpdateTime;
    /**
     * 代开标志 0-非代开 1-代开（回传其他信息时返回）
     **/
    private String proxyInvoiceFlag;
    /**
     * 用于开票的订单的时间（回传其他信息时返回）
     **/
    private String invoiceDate;
    /**
     * 开票类型 1-蓝票 2-红票（回传其他信息时返回）
     **/
    private String invoiceType;
    /**
     * 冲红原因 1:销货退回;2:开票有误;3:服务中止;4:发生销售折让（红票且票种为p、c、e、f、r（成品油发票除外）且回传其他信息时返回）
     **/
    private String redReason;
    /**
     * 作废时间（已作废状态下的发票，且回传其他信息时返回）
     **/
    private String invalidTime;
    /**
     * 作废来源 1-诺诺工作台 2-API接口 3-开票软件 4-验签失败作废 5-其他（已作废状态下的发票，且回传其他信息时返回）
     **/
    private String invalidSource;
    /**
     * 数电纸票作废原因 1:销货退回;2:开票有误;3:服务中止;4:其他（已作废状态下的发票，且票为数电纸票且回传其他信息时返回）
     **/
    private String invalidReason;
    /**
     * 其他作废原因详情（作废原因为4 且回传其他信息时返回）
     **/
    private String specificReason;
    /**
     * 发票特定要素：（后续枚举值会有扩展，回传其他信息时返回）0-普通 1-成品油发票 3-建筑服务 4-货物运输服务 6-不动产经营租赁服务 9-旅客运输服务 16-农产品收购 31-建安发票 32-房地产销售发票 33-二手车发票反向开具 34-电子烟 35-矿产品
     **/
    private String specificFactor;
    /**
     * 购买方经办人姓名（数电票特有字段）
     **/
    private String buyerManagerName;
    /**
     * 经办人证件类型：101-组织机构代码证, 102-营业执照, 103-税务登记证, 199-其他单位证件, 201-居民身份证, 202-军官证, 203-武警警官证, 204-士兵证, 205-军队离退休干部证, 206-残疾人证, 207-残疾军人证（1-8级）, 208-外国护照, 210-港澳居民来往内地通行证, 212-中华人民共和国往来港澳通行证, 213-台湾居民来往大陆通行证, 214-大陆居民往来台湾通行证, 215-外国人居留证, 216-外交官证 299-其他个人证件(数电票特有)
     **/
    private String managerCardType;
    /**
     * 经办人证件号码（数电票特有字段）
     **/
    private String managerCardNo;
    /**
     * 业务方自定义字段1
     **/
    private String bField1;
    /**
     * 业务方自定义字段2
     **/
    private String bField2;
    /**
     * 业务方自定义字段3
     **/
    private String bField3;
    /**
     * 购买方自然人标志：0-否，1-是（数电普票（电子）时才有可能返回，为1时，版式文件上在购方名称最后面会额外显示 （个人） ）
     **/
    private String naturalPersonFlag;


}
